1. Field of the Invention
This invention broadly relates to an encoder configuration for the coding of video information. More particularly, the invention pertains to a feedback encoder having improved image analysis for estimating motion of an object depicted in a frame of a video signal. Most particularly, the present invention is directed to a feedback encoder having improved object motion estimation and quantizer control.
2. Description of Background Art
Video encoders are used for coding video information in the form of video frames into a continuous stream of bits for transmission to a receiver having a corresponding decoder. The decoder translates the encoded signal back to video information which, in turn, is displayed on a video screen or CRT. Video information is typically comprised of video frames wherein images of objects contained therein are represented by pixels having color components and wherein motion of images of objects is represented by motion vectors.
The amount of transmitted coded video information is of course limited by the bandwidth of the system in which the encoders operate. Thus, most if not all existing encoders employ various techniques for efficient use of the limited available bandwidth, such as quantizing the video information before transmission. To represent a relatively uniform or homogeneous image, for example, a fine quantization is required, whereas accurate representation of an active or busy image requires a course quantization. Thus, for maximum efficiency it is desirable to dynamically adjust the quantization step size as needed so that only an appropriate number of bits required for accurate representation of the video signal are transmitted. In addition, because a video information signal consists of a continuous stream or series of flames, to depict an image represented in a current frame on a screen that is displaying an existing image, the entire current frame need not be transmitted but, rather, only the differences or variations between the displayed frame and the current frame. Thus, often the existing image on the screen need only be altered to display the current frame image.
FIG. 1 depicts a prior art encoder, of the type described hereinabove, for coding video information. Such an encoder can be employed with direct television systems or CD ROM systems as well as with videophone technology wherein, for example, video information is transmitted over Integrated Services Digital Network (ISDN) lines. As shown in FIG. 1, the encoder 10 receives at any given time a portion of a video signal comprised of a series of successive-in-time video frames input from a camera 12. Each frame is digitized by an analog-to-digital (A/D) converter 14 and each digitized frame is divided into blocks by a block splitter 18 that supplies the encoder 10 with one block of video information at any given time.
An error signal representing the difference between the current block and an estimate of the current block is generated by a subtractor 20. The estimate consists of a prediction of the image of the current block derived from a predictor 42--which derives the prediction or estimate from the image of a previous block--as well as a displacement measurement of the image. The displacement measurement is typically in the form of a motion vector generated by a displacement estimator 44. The displacement estimator 44 measures a displacement between images by comparing the current block to a corresponding previous block that was stored in a frame store or memory 36. The resulting error signal is converted from the spatial domain to the frequency domain by a discrete cosine transform (DCT) unit 22 whereupon the frequency components of the error signal are quantized by a quantizer unit 24 operating at a preselected step size. The quantized error signal is divided at node 26 and supplied to an entropy coder 28 that also receives the corresponding displacement vector from the displacement estimator unit 44. The output of entropy code 28--i.e. the coded signal with its corresponding motion vector--is then input to a buffer 30 which regulates the bit rate provided to a transmitter (not shown) for transmitting the coded video information to a remote or downstream decoder.
The error signal from node 26 is also fed to an inverse discrete cosine transform (IDCT) unit 32 and is then added to the current predicted image at adder 34. The resulting signal is provided to the frame store 36 for use by predictor 42 and displacement estimator 44 in predicting an image for a corresponding macro block for a subsequent frame. It should be noted that if no error signal is present, i.e. the current block and its estimate are virtually identical, then only displacement of the image may exist. Thus, the displacement estimator 44 also supplies the generated motion vectors to the entropy coder 28. As also shown in FIG. 1, buffer 30 includes a control means 31 for adjusting the step size of the quantizer 24 in response to an overflow of the buffer, whereupon the quantizer step size is increased to reduce the quantity of bits generated.
In general, video encoders basically determine for each block of an image whether displacement vectors and DCT coefficients of an error signal need to be transmitted. In other words, an encoder determines whether an existing image on a screen needs to be altered or changed, and by how much, to depict a current image. This is accomplished by identifying significant changes between the previous image and the current image as well as determining whether the previous image displayed on a screen is a satisfactory representation of the corresponding image input by camera 12.
With continued reference to FIG. 1, and as stated above, the error signal input to DCT unit 22 is developed from a difference between a macro block from a current image and a prediction of that image, and a displacement measurement derived from a comparison of a current macro block with the previously transmitted image as stored in the frame store 36. The error signal input to DCT unit 22 may vary from the error signal output from IDCT unit 32 as a function of the step size used by the quantizer. For example, if a small step size or fine quantization is used, the output error signal from IDCT 32 will more closely resemble the error signal input to DCT 22 than if a large step size or coarse quantization is used. Thus, a drawback of prior art encoders, including the encoder depicted in FIG. 1, is that the error signal transmitted to the decoder may contain components representing a change in the image from a previous frame to a current frame as well as errors introduced by the quantizer 24 due to inefficient quantization of previous frames. Existing encoders do not distinguish between these two types of errors, resulting in inefficient quantizer control.
Another drawback of prior art encoders is that the control means 31 which controls the quantizer step size in the event of buffer overflow, etc. is dependent on the error signal which contains quantizer errors as well as image changes and, therefore, the quantization step size may be adjusted unnecessarily. In addition, since the displacement estimator 44 of FIG. 1 bases its displacement measurement only on the current block and a quantized signal of a previous block, the accuracy of the displacement measurement also suffers.
Some prior art systems attempt to alleviate the problem of distinguishing between the types of errors in the error signal by utilizing the original image, as opposed to the error signal, to control the quantizer step size independently of the controller feedback loop 31. Still other prior art systems attempt to alleviate the problem of the displacement measurement by measuring the displacement between the original current image and the original previous image. Although these prior art systems may yield improved quantizer control and improved displacement estimation, they also result in drift from one frame to the next because the new image is no longer tied or related to the previous image.